package collection;

import java.util.ArrayList;
import java.util.List;

/** subList()方法  */
public class SublistDemo {
    public static void main(String[] args) {
        /*List提供了获取子集的操作
            List subList(int start,int end)含头不要尾
        * */
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i*10);
        }
        System.out.println(list);
        List<Integer> sub = list.subList(3,8);//获取下标3-7的子集
        System.out.println(sub);

        //把子集每个元素扩大10倍
        for (int i = 0; i < sub.size(); i++) {
            sub.set(i, sub.get(i)*10);
        }
        /*List<Integer> a = new ArrayList<>();
        System.out.println(sub);
       for (Integer i : sub) {
            a.add(i*10);
        }
        System.out.println(a);*/
        System.out.println(list);
        list.set(3,1000);//原集发生改变
        System.out.println(list);
        System.out.println(sub);//子集也变
        list.remove(0);
        System.out.println(list);
       // System.out.println(sub);//异常:原集长度改变,子集不能进行任何操作,可以重新获取子集
        List<Integer> sub1 = list.subList(3,8);//获取下标3-7的子集
        System.out.println(sub1);//重新获取子集
    }
}
